home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / ugoku / src.lzh / MOVRECG / MOVRECG.C < prev    next >
Text File  |  1994-09-09  |  8KB  |  324 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8. #include <file_dlg.h>
  9. #include <egb.h>
  10. #include <mos.h>
  11. #include <snd.h>
  12. #include <guidbg.h>
  13. #include "ugoku.h"
  14.  
  15. char    *guiEgbPtr ;            /*    EGB é╠âÅü[âNâAâhâîâX    */
  16.  
  17. #define    MinMem (1024*128)    /*    òKùvé╞é╖éΘô«ì∞âüâéâèé╠ÆΦï`    */
  18.  
  19. /*    âAâëü[âgâüâbâZü[âW                        */
  20. static char    *alertStrMem[] = 
  21.                 {"élénéuéqédébüF\nâüâéâèé¬òsæ½é╡é─éóé▄é╖", "èmöF"};
  22.  
  23. /*    checkMemFuncè╓Éöü^alertMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~âtâëâO    */
  24. static int        checkMemFlag = 0x00 ;
  25.  
  26. /****************************************************************/
  27. /*    âüâéâèòsæ½Ä₧é╠âAâëü[âgè╓ÉöüiâCâxâôâgôoÿ^è╓Éöüj                */
  28. /****************************************************************/
  29. void alertMemFunc()
  30. {
  31.     /*    âüâéâèòsæ½é╠âAâëü[âgò\Ī    */
  32.     MMI_CallMessage(MMI_GetApliId(), GM_ALERT, 
  33.                         AM_ALERT1 | AM_ALERTB0E,(int)alertStrMem) ;
  34.  
  35.     /* checkMemFuncè╓Éö/alertMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~ë≡Å£    */
  36.     checkMemFlag &= 0xef ;
  37. }
  38.  
  39. /****************************************************************/
  40. /*    âüâéâèèJò·è╓Éö                                                */
  41. /****************************************************************/
  42. int checkMemFunc(useMem)
  43. int    useMem ;
  44. {
  45.     int        ret ;
  46.  
  47.     /*    âüâéâèâ`âFâbâN                    */
  48.     if(TL_checkMemory(1) * 4096 >= useMem)
  49.         return NOERR ;        /*    âüâéâèé¬éáéΩé╬É│Åφò£ïA        */
  50.  
  51.     do
  52.     {
  53.         /*    âüâéâèèJò·Åêù¥                */
  54.         ret = MMI_CallMessage(MMI_GetApliId(), GM_PURGE, 0, 0) ;
  55.  
  56.         /*    âüâéâèâ`âFâbâN                */
  57.         if(TL_checkMemory(1) * 4096 >= useMem)
  58.             break ;
  59.     } while(ret == NOERR) ;
  60.  
  61.     return    ret ;
  62. }
  63.  
  64. /****************************************************************/
  65. /*    TownsâVâFâïî─é╤Åoé╡è╓Éö                                        */
  66. /****************************************************************/
  67. int userFunc(aplId, messId, info, data)
  68. int        aplId ;
  69. int        messId ;
  70. int        info ;
  71. int        data ;
  72. {
  73.     register int    ret ;
  74.     int                sw ;
  75.     POOLDATA        *ptr ;
  76.  
  77.     ret = ILLEGAL_FUNCTION ;
  78.  
  79.     switch (messId)
  80.     {
  81.         case    GM_WAKE :
  82.         {
  83.             EVENT    ev ;
  84.  
  85.             /*    checkMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~ö╗ÆΦ            */
  86.             if(checkMemFlag & 0x01)
  87.                 break ;
  88.  
  89.             /*    ô«ì∞âüâéâèé╠â`âFâbâN                        */
  90.             /*    checkMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~        */
  91.             checkMemFlag |= 0x01 ;
  92.             if(checkMemFunc(MinMem) != NOERR)
  93.             {
  94.                 /*    alertMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~    */
  95.                 checkMemFlag |= 0x10 ;
  96.                 /*    âüâéâèòsæ½é╠ÅΩìçé═âAâëü[âgÅêù¥è╓Éöé≡âCâxâôâgôoÿ^é╖éΘ    */
  97.                 MMI_FlushEvnt() ;
  98.                 ev.what = EVEXEC ;
  99.                 ev.shift = 0 ;
  100.                 ev.info = (int)alertMemFunc ;
  101.                 MMI_SetEvnt(&ev) ;
  102.                 break ;
  103.             }
  104.  
  105.             break ;
  106.         }
  107.  
  108.         case    GM_SLEEP :
  109.         {
  110.             /* alertMemFuncè╓Éöé¬âCâxâôâgôoÿ^é│éΩé─é╚é»éΩé╬üAcheckMemFuncè╓Éö
  111.                 é╠Æ╟éóëzé╡ï╓Ä~ë≡Å£                                            */
  112.             if((checkMemFlag & 0x10) == 0x00)
  113.                 checkMemFlag &= 0xfe ;
  114.  
  115.             break ;
  116.         }
  117.  
  118.         case    GM_QUIT :
  119.         {
  120.             extern int quitFunc2() ;
  121.  
  122.             ret = quitFunc2() ;
  123.  
  124.             break ;
  125.         }
  126.  
  127.     }
  128.     return ret ;
  129.  
  130. }
  131.  
  132. void main()
  133. {
  134.     extern int APL_init() ;
  135.     extern int initEtc() ;
  136.  
  137.     MMICTRL ctrl ;
  138.     int kobj ;
  139.  
  140.     /*    Åëè·ë╗Åêù¥    */
  141.     ctrl.page0 = 3 ;
  142.     ctrl.page1 = 10 ;
  143.     ctrl.writePage = 0 ;
  144.     ctrl.displayPage = 3 ;
  145.     ctrl.priority = 0 ;
  146.  
  147.     ctrl.mode = 0 ;
  148.     ctrl.width = 512 ;
  149.     ctrl.size = 0 ;
  150.     ctrl.ptr = NULL ;
  151.     ctrl.asize = 0 ;
  152.     ctrl.aptr = NULL ;
  153.     ctrl.fr.lupx = 0 ;
  154.     ctrl.fr.lupy = 0 ;
  155.     ctrl.fr.rdwx = 639 ;
  156.     ctrl.fr.rdwy = 479 ;
  157.     ctrl.move.lupx = 0 ;
  158.     ctrl.move.lupy = 20 ;    /*    â_âCâAâìâOé╠ê┌ô«ö═ê═é╔ɺî└é≡òté»éΘ(yì└òW)    */
  159.     ctrl.move.rdwx = 639 ;
  160.     ctrl.move.rdwy = 479 ;
  161.     ctrl.white = 15 ;
  162.     ctrl.black = 8 ;        /*    âpâîâbâgò╧ìXé╔ö║éóGUIé╠ò\ĪÉFé≡ò╧ìX(ìò)        */
  163.     ctrl.gray = 7 ;            /*                 üV                    (èDÉF)    */
  164.     ctrl.xor = 7 ;            /*                 üV                    (ö╜ô]ÉF)    */
  165.  
  166.  
  167.     /*    ô±ÅdïNô«é╠â`âFâbâN        */
  168.     kobj = MMI_CallMessage(MMI_GetApliId(),    GM_QUERYID, QM_KIND, 1) ;
  169.  
  170.     if( kobj > NOERR )    /* Ä⌐ò¬Ä⌐Égé≡Å┴é╖ */
  171.     {
  172.         MMI_CallMessage(MMI_GetApliId(), GM_SWITCH, FALSE, kobj) ;
  173.     }
  174.     /*    Åëè·ë╗Åêù¥                */
  175.     else if(MMI_Open(&ctrl) == NOERR)
  176.     {
  177.         /*    Åëè·ë╗é╔ɼî≈é╖éΩé╬âüâCâôâïü[âvé╔ôⁿéΘ.    */
  178.         if (APL_init() == NOERR)
  179.         {
  180.             /*    ô«ì∞âüâéâèé╠â`âFâbâN    */
  181.             /*    checkMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~    */
  182.             checkMemFlag |= 0x01 ;
  183.             if(checkMemFunc(MinMem) != NOERR)
  184.             {
  185.                 /*    alertMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~    */
  186.                 checkMemFlag |= 0x10 ;
  187.                 alertMemFunc();            /*    âüâéâèòsæ½é╠âAâëü[âgò\Ī    */
  188.             }
  189.             /*    checkMemFuncè╓Éöé╠Æ╟éóëzé╡ï╓Ä~ë≡Å£    */
  190.             checkMemFlag &= 0xfe ;
  191.  
  192.             FDG_SaveCurDir() ;        /*    âJâîâôâgâfâBâîâNâgâèò█æ╢    */
  193.             FDG_InitFileDlg() ;        /*    âtâ@âCâïâ_âCâAâìâOÅëè·ë╗    */
  194.             if( initEtc() == NOERR )    /* Ä⌐ë╞É╗init */
  195.                 MMI_ExecSystem() ;    /*    âüâCâôé╠âCâxâôâgâïü[âv        */
  196.             FDG_FreeFileDlg() ;        /*    âtâ@âCâïâ_âCâAâìâOÅIù╣Åêù¥    */
  197.             FDG_RecovCurDir() ;        /*    âJâîâôâgâfâBâîâNâgâèò£î│    */
  198.  
  199.             MMI_SendMessage(MMI_GetSleepObj(), MM_SLEEP, 0) ;
  200.             MMI_SetWakeObj(UNUSED);
  201.         }
  202.         /*    ÅIù╣Åêù¥                */
  203.         MMI_Close() ;
  204.     }
  205. }
  206.  
  207. int APL_init()
  208. {
  209.     extern int        setPalette( char * ) ;    /*    âpâîâbâgÉ▌ÆΦè╓Éö    */
  210.     extern int        mouseDsp( int ) ;        /*    â}âEâXò\Īè╓Éö        */
  211.     extern int        mItemId[] ;
  212.     extern MMIINIT    initDataIRCDSK ;
  213.     extern MMIINIT    initDataIRCDSK2 ;
  214.     extern MMIINIT    initDataIRCABOU ;
  215.     extern MMIINIT    initDataIRCERR ;
  216.     extern MMIINIT    initDataIRCTIF ;
  217.     extern MMIINIT    initDataIRCPAC ;
  218.     extern MMIINIT    initDataIRCSET ;
  219.     extern MMIINIT    initDataIRCEDT ;
  220.     extern MMIINIT    initDataIRCFRM ;
  221.  
  222.     register int    ret ;
  223.  
  224.     /*    EGB âÅü[âNâAâhâîâXé╠ĵô╛.    */
  225.     guiEgbPtr = MMI_GetEgbPtr() ;
  226.  
  227.     /*    ânâCâpî^òöòié╠Åëè·ë╗            */
  228.     if ((ret = MMI_initHyper()) < 0)
  229.         return ret ;
  230.     /*    â_âCâAâìâOî^òöòié╠Åëè·ë╗        */
  231.     if ((ret = MMI_initDialogL40()) < 0)
  232.         return ret ;
  233.     /*    âAâëü[âgî^òöòié╠Åëè·ë╗            */
  234.     if ((ret = MMI_initAlertL40()) < 0)
  235.         return ret ;
  236.     /*    âüâbâZü[âWî^òöòié╠Åëè·ë╗        */
  237.     if ((ret = MMI_initMessageL40()) < 0)
  238.         return ret ;
  239.     /*    âüâjâàü[î^òöòié╠Åëè·ë╗            */
  240.     if ((ret = MMI_initMenuL40()) < 0)
  241.         return ret ;
  242.     /*    â{â^âôî^òöòié╠Åëè·ë╗            */
  243.     if ((ret = MMI_initButtonL40()) < 0)
  244.         return ret ;
  245.     /*    âhâìâEâ{â^âôî^òöòié╠Åëè·ë╗        */
  246.     if ((ret = MMI_initDrawButtonL40()) < 0)
  247.         return ret ;
  248.     /*    âAâCâRâôâ{â^âôî^òöòié╠Åëè·ë╗    */
  249.     if ((ret = MMI_initIconL40()) < 0)
  250.         return ret ;
  251.     /*    âgâOâïâAâCâRâôî^òöòié╠Åëè·ë╗    */
  252.     if ((ret = MMI_initToggleIconL40()) < 0)
  253.         return ret ;
  254.     /*    âüâjâàü[âAâCâeâÇî^òöòié╠Åëè·ë╗    */
  255.     if ((ret = MMI_initMenuItemL40()) < 0)
  256.         return ret ;
  257.  
  258.     /*    âXâNâìü[âïî^òöòié╠Åëè·ë╗        */
  259.     if ((ret = MMI_initScrollBarL40()) < 0)
  260.         return ret ;
  261.     /*    âeâLâXâgî^òöòié╠Åëè·ë╗            */
  262.     if ((ret = MMI_initTextL40()) < 0)
  263.         return ret ;
  264.     /*    âèâXâgâüâjâàü[î^òöòié╠Åëè·ë╗    */
  265.     if ((ret = MMI_initListMenuL40()) < 0)
  266.         return ret ;
  267.  
  268.     /*    ÉöÆlôⁿù═î^òöòié╠Åëè·ë╗            */
  269.     if ((ret = MMI_initNumBoxL40()) < 0)
  270.         return ret ;
  271.  
  272.     /*    âpâîâbâgò╧ìXÑÑÑÑéQëµû╩Ägùpé╠ëeï┐é≡Ä≤é»éΘé╜é▀ */
  273.     ret = setPalette( guiEgbPtr ) ;
  274.  
  275.     /*    â}âEâXâJü[â\âïò\Īè╓Éöé╠ò╧ìXÑÑÑÑéQëµû╩Ägùpé╠ëeï┐é≡Ä≤é»éΘé╜é▀ */
  276.     MMI_SetPtrFunc( mouseDsp ) ;
  277.  
  278.     /*    öwîiâfü[â^é╠Åëè·ë╗                        */
  279.  
  280.     /*    âfü[â^é╠ôoÿ^        */
  281.     if ((ret = MMI_Init(&initDataIRCDSK)) < 0)
  282.         return ret ;
  283.  
  284.     if ((ret = MMI_Init(&initDataIRCDSK2)) < 0)
  285.         return ret ;
  286.  
  287.     if ((ret = MMI_Init(&initDataIRCABOU)) < 0)
  288.         return ret ;
  289.  
  290.     if ((ret = MMI_Init(&initDataIRCERR)) < 0)
  291.         return ret ;
  292.  
  293.     if ((ret = MMI_Init(&initDataIRCTIF)) < 0)
  294.         return ret ;
  295.  
  296.     if ((ret = MMI_Init(&initDataIRCPAC)) < 0)
  297.         return ret ;
  298.  
  299.     if ((ret = MMI_Init(&initDataIRCSET)) < 0)
  300.         return ret ;
  301.  
  302.     if ((ret = MMI_Init(&initDataIRCEDT)) < 0)
  303.         return ret ;
  304.  
  305.     if ((ret = MMI_Init(&initDataIRCFRM)) < 0)
  306.         return ret ;
  307.  
  308.     /*    â^âXâNâèâXâgé╞âTâCâhâÅü[âNâüâjâàü[é≡ôoÿ^é╖éΘ    */
  309.     MMI_SetUpPrgMenu( mItemId[0], 2 ) ;
  310.     MMI_SetUpSDKMenu( mItemId[0], 4 ) ;
  311.  
  312.     /*    î─é╤Åoé╡è╓Éöé≡ôoÿ^é╖éΘ    */
  313.     MMI_SendMessage(MMI_GetBaseObj(), MM_SETEXEC, 1, userFunc) ;
  314.  
  315.     /*    âAâvâèâPü[âVâçâôû╝é≡ôoÿ^é╖éΘ    */
  316.     MMI_CallMessage(MMI_GetApliId(), GM_TITLE, (int)"élénéuéqédéb", 0) ;
  317.  
  318.     /*    öwîié≡ò\Īé╖éΘ                            */
  319.     MMI_SendMessage(MMI_GetBaseObj(), MM_SHOW, 0) ;
  320.  
  321.     return NOERR ;
  322. }
  323.  
  324.